From c70c74c9b86dc17f0baa10a889770ba31b51163d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 15 Jul 2008 20:35:48 +0000 Subject: [PATCH] Use gdk_pixbuf_copy_area() to copy between pixbufs. Reported by Andrey * gdk-pixbuf-utils.c (gdk_pixbuf_saturate_and_pixelate): Use gdk_pixbuf_copy_area() to copy between pixbufs. Reported by Andrey Tsyvarev svn path=/trunk/; revision=20840 --- gdk-pixbuf/ChangeLog | 8 ++++++++ gdk-pixbuf/gdk-pixbuf-util.c | 7 ++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gdk-pixbuf/ChangeLog b/gdk-pixbuf/ChangeLog index 62ed4582c1..d9ed0d27f2 100644 --- a/gdk-pixbuf/ChangeLog +++ b/gdk-pixbuf/ChangeLog @@ -1,3 +1,11 @@ +2008-07-15 Matthias Clasen + + Bug 543085 – gdk_pixbuf_saturate_and_pixelate may corrupt memory + + * gdk-pixbuf-utils.c (gdk_pixbuf_saturate_and_pixelate): + Use gdk_pixbuf_copy_area() to copy between pixbufs. + Reported by Andrey Tsyvarev + 2008-07-15 Matthias Clasen * gdk-pixbuf-io.c: Move the check for wheter to use diff --git a/gdk-pixbuf/gdk-pixbuf-util.c b/gdk-pixbuf/gdk-pixbuf-util.c index 53e32403b1..f682aec9ba 100644 --- a/gdk-pixbuf/gdk-pixbuf-util.c +++ b/gdk-pixbuf/gdk-pixbuf-util.c @@ -190,9 +190,10 @@ gdk_pixbuf_saturate_and_pixelate(const GdkPixbuf *src, if (saturation == 1.0 && !pixelate) { if (dest != src) - memcpy (gdk_pixbuf_get_pixels (dest), - gdk_pixbuf_get_pixels (src), - gdk_pixbuf_get_height (src) * gdk_pixbuf_get_rowstride (src)); + gdk_pixbuf_copy_area (src, 0, 0, + gdk_pixbuf_get_width (src), + gdk_pixbuf_get_height (src), + dest, 0, 0); } else { int i, j, t; int width, height, has_alpha, src_rowstride, dest_rowstride, bytes_per_pixel; -- 2.30.2